非常风气网www.verywind.cn
首页
int a[10]={ }哪里错了
设
int[10]={
1,2,3},则*(a+3)值等于
答:
我就当你这个为
int
a 【
10
】={1,2,3};回答 这个会把a【0】,
a[
1],a[2] 分别赋值为 1 , 2, 3 然后的a[3]~a[9]会自动赋值为0 a为a[0]的地址 又因为数组的空间是连续的 所以a+3就是a[3]的地址 * 是去地址符号 也就是把对应地址的值取出来 所以*(a+3)也...
int
a[10]={
1,2,3};a[5]的值是多少
答:
在数组中
a[
5]并没有被初始化,所以在C语言中a[5]的值是未定义的。所以不同的编译器编译出来的结果可能是不一样的,有的编译器是只给初始化的部分赋值,有的则给未初始化的赋0.但很多编译器的编译规则都是给 a[5] 赋0.所以在未初始化的情况下使用a[5]并没有太大的意义。
int
a [
]={
0}为什么不对
答:
int
a[]={
0};从语法上来讲没有任何
错误
,只是一般不会这样写代码,int a[]={0}相当于int a[1]={0},也就是说数组a只有一个元素,即a[0],没有意义,完全可以用int型变量代替它。
int
a[]={
0,3,11,23,36,78,99,100},len; len=strlen(a);第二个语句哪 ...
答:
错误
提示意思是:不能把整型数组用作char型数组,strlen()函数是测试字符串长度的,不是整型数组长度的。
若有定义语句:
int
a[
4]
[10]
,*P,*q[4];且0<=i<4,则
错误
的
答:
内存的排列是线性的,P的类型是
int
*,而int a4[4]
[10]
的类型是int a(*)[10],要是一位数组就对了
C语言:声明整型数组
a[10]
并初始化,下面哪个选项正确(写出
错误
原因和最终...
答:
C和D都是正确的,详细如下:A. =号右边不能用()而要用{},所以错。B. {}中不能空着,至少要有一个数,所以错。C. 正确;
10
个元素全部被初始化为整数0。D. 正确;
a[
0]被初始化为整数10,a[1]~a[9]被初始化为整数0。
JAVA中
int[
]
a={10
,9}和int[ ] a=new int[ ]{10,9} 两种写法的区别
答:
结论就是 java当初没设计好,这两种方法就是写法不一样,前者有点面向过程,后者面向对象。不过如果在C语言里面类似这样写的话那就是有区别的。比如
int
a[]={10
,9};int a[] = new int[]{10,9};前者系统会栈分配空间系统会自动实现内存分配和回收 后者系统会堆分配空间系统般会自动实现内存回收...
main() {
int
a[]={
1,2,3,4,5,6,7,8,9,
10
,11,12,}; int *p=a+5,*q...
答:
int
*p =a+5,/*数组名代表的是数组的首地址,既将a向后移五个单位,变成了a[5],那么p指向的是[5]在内存中的地址*/ q=p; // 因为前面是逗号,这里的q指向的就是a[5]在内存中的地址 q=*(p+5); /* 将p指针向后移动五个单位.这样p指向的是
a[10]
,a[10]的值赋值给p指向...
C语言二维数组的定义中
int
a[
1][2
]={
{1},{3}};
哪里错了
答:
你是定义了一行两列的二维数组,但是赋初值赋了两行,数组越界了,如果是
int
a[
1][2
]={
1,3};就是正确的,外面的大括号表示整个二维数组,里面的每一个大括号表示每一行的元素,你大括号里面有两个大括号,表示数组最少有两行
C语言若已定义:
int
a[
5
]={
1,2,3,4,5},*pa=a;下列叙述
错误
的是()
答:
B是错的。a是数组,pa是指针,所以a++ 是不允许的,编译会报错。
a[
2]只是以a+2为地址取得数据。而a 与pa值相等。
棣栭〉
<涓婁竴椤
4
5
6
7
9
10
8
11
12
13
涓嬩竴椤
灏鹃〉
你可能感兴趣的内容
本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
©
非常风气网